import java.util.*;

public class SafeHomeSystem {
    // 用户ID
    private String systemID;
    // 户主密码
    private String hostPassword;
    // 临时密码
    private String temporaryPassword;
    // 电话号码
    public String vertificationPhoneNumber;
    // 系统状态
    public boolean systemStatus;
    // 报警电话
    public String emergencyNumber;
    // 火警电话
    public String fireCall;
    // 用户尝试登录的次数
    public int numberTries;
    // 检测到警情的反应时间
    private double delayTime;
    // 是否有警情
    private boolean isAlarm;

    // 用户登录
    public boolean login() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名：");
        String username = sc.next();
        System.out.println("请输入密码：");
        String password = sc.next();
        sc.close();
        if (username == this.systemID
            && password == this.hostPassword) {
                return true;
            }
        else {
            return false;
        }
    }

    // 在屏幕上显示用户是否登录成功，是否有警情等等
    public void display() {
        // 是否登录成功
        if (login() == true) {
            System.out.println("登录成功！");
        }
        else {
            System.out.println("用户名或密码错误！");
        }
        // 是否有警情
        // 更新isAlarm
        // 1.是否由非法入侵
        // 2.是否有火灾
        // 3.是否一氧化碳超标
        // 4.是否水位超标
        if (isAlarm == true) {
            // 延时报警
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                public void run() {
                    this.cancel();
                }
            }, (long)delayTime);
            if (isAlarm == true) {
                System.out.println("已检测到报警，请及时处理。");
            }
        }
    }

    // 用户设置新的密码
    public void reset(String newPassword) {
        this.hostPassword = newPassword;
    }

    // 查看各传感器是否正常工作
    public boolean query() {
        // 通过getStatus()查看各传感器类的工作状态
        if (...) {
            return true;
        }
        return false;
    }

    // 修改传感器参数的值
    public void modify (int sensorID, String sensorName, double sensorValue) {
        // 数据库修改...
    }

    // 向phoneNumber报警
    public void call (String phoneNumber) {
        // 与phoneNumber通信
    }
}